The present invention relates to industrial controllers for the real-time control of equipment used in manufacturing and in particular to an industrial controller that automatically organizes equipment for the manufacture of a product based on the capabilities of the equipment.
Industrial controllers are special purpose computers used in controlling industrial processes. Under the direction of a stored control program, an industrial controller examines a series of inputs reflecting the status of the controlled process and changes a series of outputs controlling the industrial process. The inputs and outputs may be binary, that is, on or off, or analog, providing a value within a continuous range. The inputs may be obtained from sensors attached to the controlled equipment and the outputs may be signals to actuators on the controlled equipment.
Unlike the standardized software normally executed on conventional computers, the control program executed on an industrial controller is normally unique to each controlled process. The writing and troubleshooting of the control program is thus a significant cost in the creation of an industrial control system. After the controlled program is complete, it must often be modified as the product to be manufactured changes or as equipment is exchanged, replaced or repaired.
The above referenced grand parent to this application describes a self-configuring industrial control system employing a number of autonomous control units, each associated with a particular piece of manufacturing equipment. The autonomous control units are programmed with data describing the capabilities of their equipment and the equipment""s ability to interact with other equipment. A desired product is described in a xe2x80x9cjob description languagexe2x80x9d and broadcast to the autonomous control units, each which identifies portions of the job that they can complete. The autonomous control units then exchange bids and counter-bids with the other autonomous control units to allocate the job among units and to select the desired operating parameters of the associated equipment. The autonomous control units are programmed with generalized goals so that the allocation may be further optimized for high productivity, low cost or some other objective measure.
The above referenced parent to this application describes an improvement to this bidding process in which each autonomous control unit exchanges intermediate constraints, that is, their common ranges of inputs and outputs, with upstream and downstream equipment. By importing these constraint ranges into the autonomous control units, the process of bidding can be simplified and shortened because each autonomous control unit can pre-evaluate its bids against the ranges before they are submitted, preventing unacceptable bids from being further processed.
A bid which proposes input values may be evaluated according to whether those input values are within the input constraint range. Further, the input values can be provided to a model of the sub-process so that modeled output values can be compared against output constraint ranges. More troublesome are counterbids, essential to any bidding process, which propose output values. The output values may be compared against the output constraint range but most models of complex sub-processes cannot provide input values as a function of output values. For this reason, the input resulting from the output values of the counterbids cannot be evaluated against the input constraints. Importantly too, when bid input values produce less than optimum output values, new input values from which to form a counter-bid are not readily determined, even if the optimum output value is known.
What is needed is a method of evaluating both input and output bids with a conventional forward model of the subprocess.
The present invention solves the problem of responding to counterbids that propose output values and of optimizing bid input values by iteratively operating a forward model with different inputs until a given output if found, thus effectively but not actually, running the forward model in reverse. A binary iteration technique reduces the time required for this operation.
Specifically, the present invention provides an autonomous control unit forming part of an industrial controller for controlling a process, the autonomous control unit associated with a sub-process of the process and used with other autonomous control units associated with other sub-processes, each subprocess having input variables describing the input conditions to the subprocess and output variables describing output conditions of the subprocess. The autonomous control unit includes a network connection allowing intercommunication between the autonomous control unit and other autonomous control units and allowing receipt by the autonomous control unit of a job plan describing the process. The autonomous control unit further includes an electronic memory holding (1) a subprocess model relating the input variables to the output variables for the sub-process; and (2) a constraint table holding a constraining range for the input and output variables having range extremes. An electronic computer in the autonomous control unit communicates with the network connection and the electronic memory and executes a stored program to:
(1) receive a proposed value of an output variable from a second autonomous control unit;
(2) try selected input variables in the subprocess model to produce a resultant output variable;
(3) iteratively change the selected input variables until the resultant output variable matches the proposed value of the output variable;
(4) compare an ultimate value of the iteratively changed selected input variable to the constraining range; and
(5) when the ultimate value satisfies the constraint range, responding to the second autonomous control unit indicating acceptance of the proposed input variable as part of a response to the job plan.
Thus it is one object of the invention to provide a method of responding to counterbids in a bidding system using a single forward model of a subprocess.
Alternatively or in addition the electronic memory may include an optimizing function indicating preferred values of the input variables and the electronic computer may executing the stored program to:
(1) receive a proposed value of an input variable, from a second autonomous control unit;
(2) apply the proposed value of the input variable to the model to produce a resultant output variable;
(3) when the resultant output variable is within its constraint range, iteratively change the value of the input variables applied to the model to optimize the input variable according to the optimizing function while keeping the output values within the constraint range; and
(4) responding to the second autonomous control unit indicating a counterbid of the iteratively changed value of the input variable.
Thus it is another object of the invention to provide a method of optimizing counterbids using a single forward model of a subprocess.
The autonomous control unit executing the stored program can iteratively change selected input variables at each iteration by one-half the difference of the previous iterative change.
Thus it is another object of the invention to efficiently traverse input space in seeking to reverse model a process. Absent a priori knowledge about the process, a binary search pattern will provide fastest convergence on an answer.
The iteratively changed selected input variable may be initially changed by one-half of the difference between the input value and one range extreme.
Thus it is another object of the invention to minimize the input space traversed by reference to the input constraint extremes.
The output variable of the model may be a function of multiple input variables and the selected input variable may be chosen from among the multiple input variables according to a predetermined priority list.
Thus it is another object of the invention to provide a systematic reverse modeling that give priority to variables that can be pre-assigned by the user.
The foregoing and other objects and advantages of the invention will appear from the following description. In the description, reference is made to the accompanying drawings which form a part hereof and in which there is shown by way of illustration a preferred embodiment of the invention. Such embodiment does not necessary represent the full scope of the invention, however, and reference must be made to the claims herein for interpreting the scope of the invention.